When reading a long thread of email messages on a specific subject, a user who reads each message in the thread is likely to waste time reading some portions of the overall message content multiple times, as messages are often quoted and incorporated into other messages. A related problem concerns how to store the full thread in an efficient manner. Currently, email clients save all email messages in a thread, including duplicate messages that are incorporated into other messages, and even save duplicate attachments, where the same attachment appears in more than one of the messages in the thread.